package cn.csc.module.product.convert.sku;

import cn.csc.framework.common.pojo.PageResult;
import cn.csc.module.product.api.sku.dto.SkuDTO;
import cn.csc.module.product.controller.admin.sku.vo.*;
import cn.csc.module.product.controller.admin.spu.vo.SkuAttrCreateReqV2VO;
import cn.csc.module.product.controller.app.spu.vo.AppSkuCreateReqVO;
import cn.csc.module.product.dal.dataobject.sku.SkuDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * sku信息 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface SkuConvert {

    SkuConvert INSTANCE = Mappers.getMapper(SkuConvert.class);

    SkuDO convert(SkuCreateReqVO bean);

    SkuDO convert(SkuUpdateReqVO bean);

    SkuRespVO convert(SkuDO bean);

    List<SkuRespVO> convertList(List<SkuDO> list);

    PageResult<SkuRespVO> convertPage(PageResult<SkuDO> page);

    List<SkuExcelVO> convertList02(List<SkuDO> list);

    List<SkuDO> convertList03(List<AppSkuCreateReqVO> list);

    List<SkuDO> convertList04(List<SkuAttrCreateReqV2VO> list);

    List<SkuDTO> convertList05(List<SkuDO> list);

    List<SkuSimpleRespVO> convertList06(List<SkuDO> list);

    SkuDTO convertDTO(SkuDO bean);


}
